package com.baylor.server.base.security;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.baylor.server.base.entity.OauthAccessToken;
import com.baylor.server.base.entity.OauthClientDetails;
import com.baylor.server.base.repository.OauthAccessTokenRepository;
import com.baylor.server.base.repository.OauthRepository;
import com.baylor.server.business.utils.MD5Util;

/**
 * @author zj
 */
@Service("oauthService")
public class OauthServiceImpl implements OauthService {

    @Autowired
    private OauthRepository oauthRepository;

    @Autowired
    private OauthAccessTokenRepository oauthAccessTokenRepository;

    public OauthClientDetails loadOauthClientDetails(String clientId) {
        return oauthRepository.findOauthClientDetails(clientId);
    }

	public String getUserNameByToken(String accessToken) {
		OauthAccessToken oauthAccessToken;
		oauthAccessToken = oauthAccessTokenRepository.findByTokenId(MD5Util.getMD5String(accessToken));
		if(oauthAccessToken != null){
			return oauthAccessToken.getUserName();
		}
		return null;
	}
    
    
}